<template>
  <div class="register">
    <header-view title="注册"></header-view>
    <div class="img">镁团</div>
    <van-form @submit="onSubmit">
      <van-cell-group inset>
        <van-field
          v-model="username"
          name="user"
          label="用户名"
          placeholder="用户名"
          :rules="[{ required: true, message: '请填写用户名' }]"
        />
        <van-field
          v-model="password"
          type="password"
          name="pass"
          label="密码"
          placeholder="密码"
          :rules="[{ required: true, message: '请填写密码' }]"
        />
      </van-cell-group>
      <div style="margin: 16px">
        <van-button
          round
          block
          type="primary"
          native-type="submit"
          color="#ffc300"
        >
          注册
        </van-button>
        <van-button
          round
          block
          type="primary"
          color="#ffc300"
          class="login"
          @click="toLogin"
        >
          去登录
        </van-button>
      </div>
    </van-form>
  </div>
</template>

<script>
import HeaderView from "@/components/HeaderView.vue";
import { useRouter } from "vue-router";
import { reactive, toRefs } from "vue";
import { showToast } from "vant";
export default {
  components: { HeaderView },
  setup() {
    let router = useRouter();
    const data = reactive({
      username: "",
      password: "",
    });
    const onSubmit = (value) => {
      if (localStorage.userInfo) {
        let userInfo = JSON.parse(localStorage.getItem("userInfo"));
        if (userInfo["user"] === value["user"]) {
          showToast("该用户已经存在~");
          return;
        }
      } else {
        register(value);
      }
    };
    const register = (value) => {
      localStorage.setItem("userInfo", JSON.stringify(value));
      showToast("注册成功~");
      router.push("/login");
    };
    const toLogin = () => {
      router.push("/login");
    };
    return {
      onSubmit,
      toLogin,
      // register,
      ...toRefs(data),
    };
  },
};
</script>

<style lang="scss" scoped>
.register {
  .img {
    width: 200px;
    height: 200px;
    background-color: #ffc300;
    font-size: 80px;
    line-height: 200px;
    text-align: center;
    border-radius: 50px;
    margin: 20px auto;
  }
  .login {
    margin-top: 20px;
  }
}
</style>
